Data sending method, data receiving method, transmit-end device, and receive-end device

ABSTRACT

Embodiments of this application provide a data sending method, a data receiving method, a transmit-end device, and a receive-end device. The data sending method provided in the embodiments of this application may include: performing scrambling code initialization to generate a scrambling code; scrambling a data block based on the scrambling code; repeatedly sending the scrambled data block; performing scrambling code initialization to generate a new scrambling code when an interval after previous scrambling code initialization of the data block is greater than or equal to a preset scrambling code initialization parameter threshold; scrambling the data block again based on the generated new scrambling code; and repeatedly sending the data block scrambled again. The embodiments of this application can improve efficiency of data transmission between a transmit-end device and a receive-end device.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of International Application No. PCT/CN2017/076665 filed on Mar. 14, 2017, which claims priority to Chinese Patent Application No. 201610158478.6 filed on Mar. 16, 2016. The disclosures of the aforementioned applications are hereby incorporated by reference in their entireties.

TECHNICAL FIELD

Embodiments of this application relate to communications technologies, and in particular, to a data sending method, a data receiving method, a transmit-end device, and a receive-end device.

BACKGROUND

As communications technologies develop, communications technologies of Long Term Evolution (LTE) have become increasingly mature, and network coverage of LTE systems also becomes increasingly dense.

In an LTE system, dense network coverage causes interference between neighboring cells. To reduce interference between neighboring cells, scrambling code initialization can be performed, so that a transmit-end device performs scrambling code initialization once in each subframe. Data sent in each subframe has a different scrambling code. The transmit-end device scrambles a data block based on a scrambling code obtained after initialization, and sends the scrambled data block. This can implement interference randomization. To ensure that a receive-end device can receive complete data sent by the transmit-end device, the transmit-end device can repeatedly send the data block, and perform scrambling code initialization once in each subframe.

However, it is difficult for the receive-end device to perform processing such as frequency offset estimation by using the repeatedly sent data block.

SUMMARY

Embodiments of this application provide a data sending method, a data receiving method, a transmit-end device, and a receive-end device, to improve efficiency of data transmission between a transmit-end device and a receive-end device.

An embodiment of this application provides a data sending method, including:

performing scrambling code initialization to generate a scrambling code;

scrambling a data block based on the scrambling code;

repeatedly sending the scrambled data block;

performing scrambling code initialization to generate a new scrambling code when an interval after previous scrambling code initialization of the data block is greater than or equal to a preset scrambling code initialization parameter threshold;

scrambling the data block again based on the generated new scrambling code; and

repeatedly sending the data block scrambled again.

In the data sending method provided in this embodiment of this application, scrambling code initialization may be performed to generate the scrambling code; the data block may be scrambled based on the scrambling code; the scrambled data block may be repeatedly sent; scrambling code initialization may be performed to generate the new scrambling code when the interval after previous scrambling code initialization of the data block is greater than or equal to the scrambling code initialization parameter threshold; the data block may be scrambled based on the generated new scrambling code; and the data block scrambled again may be repeatedly sent. Scrambling code initialization does not need to be performed in each subframe, and is performed when the interval after previous scrambling code initialization of the data block is greater than or equal to the scrambling code initialization parameter threshold. Therefore, scrambling code randomization can be ensured, and the data sending method provided in this embodiment of this application can implement interference randomization. In addition, the previous same scrambling code is used when the interval after previous scrambling code initialization of the data block is less than the scrambling code initialization parameter threshold. Therefore, the data sending method provided in this embodiment of this application can further ensure that the receive-end device can perform processing such as frequency offset estimation by using the repeatedly sent data block, ensure accuracy of data transmission between a transmit-end device and a receive-end device, and improve data transmission efficiency.

Optionally, the interval may be a time interval, and may be indicated by a quantity of time or resource units.

Optionally, the interval is indicated by a quantity of subframes.

Optionally, the data block may occupy at least one subframe, and the performing scrambling code initialization to generate a new scrambling code when an interval after previous scrambling code initialization of the data block is greater than or equal to a scrambling code initialization parameter threshold may include:

if a quantity of subframes occupied by the data block is greater than or equal to the scrambling code initialization parameter threshold, performing scrambling code initialization each time the data block is repeatedly sent, to generate the new scrambling code.

Optionally, the data block occupies at least one subframe, and the performing scrambling code initialization to generate a new scrambling code when an interval after previous scrambling code initialization of the data block is greater than or equal to a scrambling code initialization parameter threshold may include:

if a quantity of subframes occupied by the data block is less than the scrambling code initialization parameter threshold, performing scrambling code initialization to generate the new scrambling code when a quantity of subframes after previous scrambling code initialization is greater than or equal to the scrambling code initialization parameter threshold.

Optionally, the data block is a rate matched block RMB, or a code block corresponding to a redundancy version RV of the RMB, and the RMB is a code block obtained after coding and rate matching are performed on to-be-sent data.

Optionally, the performing scrambling code initialization to generate a scrambling code may include:

performing scrambling code initialization by using the following formula (1):

c _(init)=n_(RNTI)·2¹⁴ +A· ⁹ +N _(ID) ^(cell)  formula (1), where

c_(init) is a scrambling code, n_(RNTI) is a radio network temporary identifier identifying a terminal, A is a variable value and indicates the ninth to the thirteenth bits of bits that are in ascending order, and N_(ID) ^(cell) is a cell identity number.

Optionally, A is obtained by using the following formula (2):

$\begin{matrix} {{A = {{q \cdot 2^{4}} + \left\{ {\left\lbrack {{SFN} + \left\lfloor \frac{n_{s}}{2} \right\rfloor} \right\rbrack {mod}\; 16} \right\}}},} & {{formula}\mspace{14mu} (2)} \end{matrix}$

where

q remains 0 or 1, or is obtained by performing negation on a previous value each time scrambling code initialization is performed; and

SFN indicates a system frame number, n_(s) indicates a number of a corresponding timeslot in which the data block is repeatedly sent currently, └•┘ indicates rounding down, and mod indicates modulo.

Alternatively, A is obtained by using the following formula (3):

$\begin{matrix} {{A = {{q \cdot 2^{4}} + \left\{ {\left\lbrack {{SFN} + \left\lfloor \frac{n_{s}}{2} \right\rfloor + {\# {Rep}}} \right\rbrack {mod}\; 16} \right\}}},} & {{formula}\mspace{14mu} (3)} \end{matrix}$

where

q remains 0 or 1, or is obtained by performing negation on a previous value each time scrambling code initialization is performed; and

SFN indicates a system frame number, n_(s) indicates a number of a corresponding timeslot in which the data block is repeatedly sent currently, ┐•┘ indicates rounding down, #Rep indicates a repetition sequence number corresponding to current repeated sending of the data block, and mod indicates modulo.

Alternatively, A may be further obtained by using the following formula (4):

$\begin{matrix} {{A = {{q \cdot 2^{4}} + \left\{ {\left\lbrack {\left\lfloor \frac{n_{s}}{2} \right\rfloor + {\# {Rep}}} \right\rbrack {mod}\; 16} \right\}}},} & {{formula}\mspace{14mu} (4)} \end{matrix}$

where

q remains 0 or 1, or is obtained by performing negation on a previous value each time scrambling code initialization is performed; and

n_(s) indicates a number of a corresponding timeslot in which the data block is repeatedly sent currently, ┐•┘ indicates rounding down, #Rep indicates a repetition sequence number corresponding to current repeated sending of the data block, and mod indicates modulo.

Alternatively, A may be further obtained by using the following formula (5):

$\begin{matrix} {{A = {\left\lbrack {{SFN} + \left\lfloor \frac{n_{s}}{2} \right\rfloor} \right\rbrack {mod}\; 32}},} & {{formula}\mspace{14mu} (5)} \end{matrix}$

where

SFN indicates a system frame number, n_(s) indicates a number of a corresponding timeslot in which the data block is repeatedly sent currently, ┐•┘ indicates rounding down, and mod indicates modulo.

Alternatively, A is obtained by using the following formula (6):

$\begin{matrix} {{A = {\left\lbrack {{SFN} + \left\lfloor \frac{n_{s}}{2} \right\rfloor + {\# {Rep}}} \right\rbrack {mod}\; 32}},} & {{formula}\mspace{14mu} (6)} \end{matrix}$

where

SFN indicates a system frame number, n_(s) indicates a number of a corresponding timeslot in which the data block is repeatedly sent currently, ┐•┘ indicates rounding down, #Rep indicates a repetition sequence number corresponding to current repeated sending of the data block, and mod indicates modulo.

Alternatively, A may be further obtained by using the following formula (7):

$\begin{matrix} {{A = {\left\lbrack {\left\lfloor \frac{n_{s}}{2} \right\rfloor + {\# {Rep}}} \right\rbrack {mod}\; 32}},} & {{formula}\mspace{14mu} (7)} \end{matrix}$

where

n_(s) indicates a number of a corresponding timeslot in which the data block is repeatedly sent currently, #Rep indicates a repetition sequence number corresponding to current repeated sending of the data block, ┐•┘ indicates rounding down, and mod indicates modulo.

The data sending method provided in this embodiment of this application may further provide a plurality of data sending methods for a data block occupying one subframe and a data block occupying a plurality of subframes, so that the data sending method can implement interference randomization when a data block of one subframe or a data block of a plurality of subframes is sent, can further ensure that a receive-end device can perform processing such as frequency offset estimation by using the repeatedly sent data block, ensure accuracy of data transmission between a transmit-end device and a receive-end device, and improve data transmission efficiency. In addition, a plurality of implementations of scrambling code initialization are provided, so that randomization of the scrambling code generated after scrambling code initialization can be better ensured, and randomization of interference between neighboring cells can be better ensured.

An embodiment of this application may further provide a data sending method, including:

performing scrambling code initialization to generate a scrambling code at the beginning of each repetition period of a data block, where a sum of quantities of repetitions in all repetition periods of the data block is equal to a quantity of repetitions required by the data block;

scrambling the data block based on the scrambling code; and

repeatedly sending the scrambled data block in each repetition period based on a quantity of repetitions corresponding to the repetition period.

In the data sending method provided in this embodiment of this application, scrambling code initialization is performed to generate the scrambling code at the beginning of each repetition period of the data block, where the sum of the quantities of repetitions in all the repetition periods of the data block is equal to the quantity of repetitions required by the data block, the data block is scrambled based on the scrambling code, and the scrambled data block is repeatedly sent in each repetition period based on the quantity of repetitions corresponding to the repetition period. Because scrambling code initialization does not need to be performed in each subframe, the data sending method provided in this embodiment of this application can further ensure that a receive-end device can perform processing such as frequency offset estimation by using the repeatedly sent data block, ensure accuracy of data transmission between a transmit-end device and a receive-end device, and improve data transmission efficiency while implementing interference randomization.

Optionally, the data block includes a plurality of sub-blocks, and each sub-block corresponds to at least one subframe.

Optionally, the data block is a rate matched block RMB, the RMB is a code block obtained after coding and rate matching are performed on to-be-sent data, and the RMB includes code blocks corresponding to at least two RVs; and

each sub-block corresponds to a subframe or a redundancy version RV.

Optionally, all the repetition periods include at least one repetition period.

An embodiment of this application further provides a data sending method, including:

determining a bandwidth parameter based on a subcarrier spacing, where the bandwidth parameter is a quantity of subcarriers;

determining transmit power based on the bandwidth parameter; and

sending a data block on the subcarrier by using the transmit power.

Optionally, the determining a bandwidth parameter based on a subcarrier spacing may include:

if the subcarrier spacing is a first spacing, determining a ratio of the first spacing to a second spacing as the bandwidth parameter, where the second spacing is greater than the first spacing; and

the sending a data block on the subcarrier by using the transmit power may include:

sending the data block on a single subcarrier of subcarriers between which the subcarrier spacing is the first spacing by using the transmit power.

Optionally, the first spacing is 3.75 kHz, and the second spacing is 15 kHz.

Optionally, the determining a bandwidth parameter based on a subcarrier spacing may include:

if the subcarrier spacing is a second spacing, determining a quantity of subcarriers between which the subcarrier spacing is the second spacing as the bandwidth parameter; and

the sending a data block on the subcarrier by using the transmit power may include:

sending the data block on at least one of subcarriers between which the subcarrier spacing is the second spacing by using the transmit power.

Optionally, the second spacing is 15 kHz, and the quantity of subcarriers that are spaced by the second spacing is 1, 3, 6, or 12.

An embodiment of this application further provides a data sending method, including:

determining transmit power based on a preset quantity of repetitions and a preset modulation and coding scheme MCS; and

repeatedly sending a data block by using the transmit power and the preset quantity of repetitions.

Optionally, the determining transmit power based on a preset quantity of repetitions and a preset MCS includes:

if a preset quantity of times of repeated sending is greater than or equal to a quantity of repetitions corresponding to the preset MCS, determining maximum transmit power as the transmit power.

Optionally, the determining transmit power based on a preset quantity of repetitions and a preset MCS includes:

determining a bit rate based on a preset quantity of times of repeated sending and the preset MCS; and

if the bit rate is less than or is equal to a preset bit rate value, determining maximum transmit power as the transmit power.

An embodiment of this application further provides a data sending method, including:

determining a value of a preset field in a narrow band master information block based on an operation mode of a first cell; and

sending the narrow band master information block.

Optionally, the determining a value of a preset field in a narrow band master information block based on an operation mode of a first cell includes:

if the operation mode of the first cell is a standalone operation mode, configuring the value of the preset field to a first value; or

if the operation mode of the first cell is a guard-band operation mode, configuring the value of the preset field to a second value, where the first value is different from the second value.

Optionally, the determining a value of a preset field in a narrow band master information block based on an operation mode of a first cell may include:

if the operation mode of the first cell is an in-band operation mode, and a quantity of antenna ports of the first cell is the same as a quantity of antenna ports of a second cell, configuring the value of the preset field to a third value.

Optionally, the determining a value of a preset field in a narrow band master information block based on an operation mode of a first cell includes:

if the operation mode of the first cell is an in-band operation mode, and a quantity of antenna ports of the first cell is different from a quantity of antenna ports of a second cell, configuring the value of the preset field to a fourth value.

An embodiment of this application further provides a data receiving method, including:

receiving a narrow band master information block; and

determining an operation mode of a first cell based on a value of a preset field in the narrow band master information block.

Optionally, the determining an operation mode of a first cell based on a value of a preset field in the narrow band master information block includes:

if the value of the preset field is a first value, determining that the operation mode of the first cell is a standalone operation mode; or

if the value of the preset field is a second value, determining that the operation mode of the first cell is a guard-band operation mode.

Optionally, the determining an operation mode of a first cell based on a value of a preset field in the narrow band master information block includes:

if the value of the preset field is a third value, and a quantity of antenna ports of the first cell is the same as a quantity of antenna ports of a second cell, determining that the operation mode of the first cell is an in-band operation mode.

Optionally, the determining an operation mode of a first cell based on a value of a preset field in the narrow band master information block includes:

if the value of the preset field is a fourth value, and a quantity of antenna ports of the first cell is different from a quantity of antenna ports of a second cell, determining that the operation mode of the first cell is an in-band operation mode.

An embodiment of this application further provides a transmit-end device, including:

a generation module, configured to perform scrambling code initialization to generate a scrambling code;

a scrambling module, configured to scramble a data block based on the scrambling code; and

a sending module, configured to repeatedly send the scrambled data block, where

the generation module is further configured to perform scrambling code initialization to generate a new scrambling code when an interval after previous scrambling code initialization of the data block is greater than or equal to a preset scrambling code initialization parameter threshold;

the scrambling module is further configured to scramble the data block again based on the generated new scrambling code; and

the sending module is further configured to repeatedly send the data block scrambled again.

Optionally, the interval is indicated by a quantity of time or resource units.

Optionally, the interval is indicated by a quantity of subframes.

Optionally, the data block occupies at least one subframe, and the generation module is further configured to: if a quantity of subframes occupied by the data block is greater than or equal to the scrambling code initialization parameter threshold, perform scrambling code initialization each time the data block is repeatedly sent, to generate the new scrambling code.

Optionally, the data block occupies at least one subframe, and the generation module is further configured to: if a quantity of subframes occupied by the data block is less than the scrambling code initialization parameter threshold, perform scrambling code initialization to generate the new scrambling code when a quantity of subframes after previous scrambling code initialization is greater than or equal to the scrambling code initialization parameter threshold.

Optionally, the data block is a rate matched block RMB, or a code block corresponding to a redundancy version RV of the RMB, and the RMB is a code block obtained after coding and rate matching are performed on to-be-sent data.

Optionally, the generation module is further configured to perform scrambling code initialization by using the following formula (1):

c _(init)=n_(RNTI)·2¹⁴ +A· ⁹ +N _(ID) ^(cell)  formula (1), where

c_(init) is a scrambling code, n_(RNTI) is a radio network temporary identifier identifying a terminal, A is a variable value and indicates the ninth to the thirteenth bits of bits that are in ascending order, and N_(ID) ^(cell) is a cell identity number.

Optionally, the generation module may be configured to obtain A by using the following formula (2):

$\begin{matrix} {{A = {{q \cdot 2^{4}} + \left\{ {\left\lbrack {{SFN} + \left\lfloor \frac{n_{s}}{2} \right\rfloor} \right\rbrack {mod}\; 16} \right\}}},} & {{formula}\mspace{14mu} (2)} \end{matrix}$

where

q remains 0 or 1, or is obtained by performing negation on a previous value each time scrambling code initialization is performed; and

SFN indicates a system frame number, n_(s) indicates a number of a corresponding timeslot in which the data block is repeatedly sent currently, ┐•┘ indicates rounding down, and mod indicates modulo.

Alternatively, the generation module is further configured to obtain A by using the following formula (3):

$\begin{matrix} {{A = {{q \cdot 2^{4}} + \left\{ {\left\lbrack {{SFN} + \left\lfloor \frac{n_{s}}{2} \right\rfloor + {\# {Rep}}} \right\rbrack {mod}\; 16} \right\}}},} & {{formula}\mspace{14mu} (3)} \end{matrix}$

where

q remains 0 or 1, or is obtained by performing negation on a previous value each time scrambling code initialization is performed; and

SFN indicates a system frame number, n_(s) indicates a number of a corresponding timeslot in which the data block is repeatedly sent currently, ┐•┘ indicates rounding down, #Rep indicates a repetition sequence number corresponding to current repeated sending of the data block, and mod indicates modulo.

Alternatively, the generation module is further configured to obtain A by using the following formula (4):

$\begin{matrix} {{A = {{q \cdot 2^{4}} + \left\{ {\left\lbrack {\left\lfloor \frac{n_{s}}{2} \right\rfloor + {\# {Rep}}} \right\rbrack {mod}\; 16} \right\}}},} & {{formula}\mspace{14mu} (4)} \end{matrix}$

where

q remains 0 or 1, or is obtained by performing negation on a previous value each time scrambling code initialization is performed; and

n_(s) indicates a number of a corresponding timeslot in which the data block is repeatedly sent currently, ┐•┘ indicates rounding down, #Rep indicates a repetition sequence number corresponding to current repeated sending of the data block, and mod indicates modulo.

Alternatively, the generation module is further configured to obtain A by using the following formula (5):

$\begin{matrix} {{A = {\left\lbrack {{SFN} + \left\lfloor \frac{n_{s}}{2} \right\rfloor} \right\rbrack {mod}\; 32}},} & {{formula}\mspace{14mu} (5)} \end{matrix}$

where

SFN indicates a system frame number, n_(s) indicates a number of a corresponding timeslot in which the data block is repeatedly sent currently, ┐•┘ indicates rounding down, and mod indicates modulo.

Alternatively, the generation module is further configured to obtain A by using the following formula (6):

$\begin{matrix} {{A = {\left\lbrack {{SFN} + \left\lfloor \frac{n_{s}}{2} \right\rfloor + {\# {Rep}}} \right\rbrack {mod}\; 32}},} & {{formula}\mspace{14mu} (6)} \end{matrix}$

where

SFN indicates a system frame number, n_(s) indicates a number of a corresponding timeslot in which the data block is repeatedly sent currently, ┐•┘ indicates rounding down, #Rep indicates a repetition sequence number corresponding to current repeated sending of the data block, and mod indicates modulo.

Alternatively, the generation module is further configured to obtain A by using the following formula (7):

$\begin{matrix} {{A = {\left\lbrack {\left\lfloor \frac{n_{s}}{2} \right\rfloor + {\# {Rep}}} \right\rbrack {mod}\; 32}},} & {{formula}\mspace{14mu} (7)} \end{matrix}$

where

n_(s) indicates a number of a corresponding timeslot in which the data block is repeatedly sent currently, #Rep indicates a repetition sequence number corresponding to current repeated sending of the data block, ┐•┘ indicates rounding down, and mod indicates modulo.

An embodiment of this application may further provide a transmit-end device, including:

a generation module, configured to perform scrambling code initialization to generate a scrambling code at the beginning of each repetition period of a data block, where a sum of quantities of repetitions in all repetition periods of the data block is equal to a quantity of repetitions required by the data block;

a scrambling module, configured to scramble a data block based on the scrambling code; and

a sending module, configured to repeatedly send the scrambled data block in each repetition period based on a quantity of repetitions corresponding to the repetition period.

Optionally, the data block includes a plurality of sub-blocks, and each sub-block corresponds to at least one subframe.

Optionally, the data block is a rate matched block RMB, the RMB is a code block obtained after coding and rate matching are performed on to-be-sent data, and the RMB includes code blocks corresponding to at least two RVs; and

each sub-block corresponds to a subframe or a redundancy version RV.

Optionally, all the repetition periods include at least one repetition period.

An embodiment of this application further provides a transmit-end device, including:

a determining module, configured to: determine a bandwidth parameter based on a subcarrier spacing, where the bandwidth parameter is a quantity of subcarriers, and determine transmit power based on the bandwidth parameter; and

a sending module, configured to send a data block on the subcarrier by using the transmit power.

Optionally, the determining module is further configured to: if the subcarrier spacing is a first spacing, determine a ratio of the first spacing to a second spacing as the bandwidth parameter, where the second spacing is greater than the first spacing; and

the sending module is further configured to send the data block on a single subcarrier of subcarriers between which the subcarrier spacing is the first spacing by using the transmit power.

Optionally, the first spacing is 3.75 kHz, and the second spacing is 15 kHz.

Optionally, the determining module is further configured to: if the subcarrier spacing is a second spacing, determine a quantity of subcarriers between which the subcarrier spacing is the second spacing as the bandwidth parameter; and

the sending module is further configured to send the data block on at least one of subcarriers between which the subcarrier spacing is the second spacing by using the transmit power.

Optionally, the second spacing is 15 kHz, and the quantity of subcarriers that are spaced by the second spacing is 1, 3, 6, or 12.

An embodiment of this application further provides a transmit-end device, including:

a determining module, configured to determine transmit power based on a preset quantity of repetitions and a preset modulation and coding scheme MCS; and

a sending module, configured to repeatedly send a data block by using the transmit power and the preset quantity of repetitions.

Optionally, the determining module is further configured to: if a preset quantity of times of repeated sending is greater than or equal to a quantity of repetitions corresponding to the preset MCS, determine maximum transmit power as the transmit power.

Optionally, the determining module is further configured to: determine a bit rate based on a preset quantity of times of repeated sending and the preset MCS; and if the bit rate is less than or is equal to a preset bit rate value, determine maximum transmit power as the transmit power.

An embodiment of this application further provides a transmit-end device, including:

a determining module, configured to determine a value of a preset field in a narrow band master information block based on an operation mode of a first cell; and

a sending module, configured to send the narrow band master information block.

Optionally, the determining module is further configured to: if the operation mode of the first cell is a standalone operation mode, configure the value of the preset field to a first value; or if the operation mode of the first cell is a guard-band operation mode, configure the value of the preset field to a second value, where the first value is different from the second value.

Optionally, the determining module is further configured to: if the operation mode of the first cell is an in-band operation mode, and a quantity of antenna ports of the first cell is the same as a quantity of antenna ports of a second cell, configure the value of the preset field to a third value.

Optionally, the determining module is further configured to: if the operation mode of the first cell is an in-band operation mode, and a quantity of antenna ports of the first cell is different from a quantity of antenna ports of a second cell, configure the value of the preset field to a fourth value.

An embodiment of this application further provides a data receiving method, including:

a receiving module, configured to receive a narrow band master information block; and

a determining module, configured to determine an operation mode of a first cell based on a value of a preset field in the narrow band master information block.

Optionally, the determining module is further configured to: if the value of the preset field is a first value, determine that the operation mode of the first cell is a standalone operation mode; or if the value of the preset field is a second value, determine that the operation mode of the first cell is a guard-band operation mode.

Optionally, the determining module is further configured to: if the value of the preset field is a third value, and a quantity of antenna ports of the first cell is the same as a quantity of antenna ports of a second cell, determine that the operation mode of the first cell is an in-band operation mode.

Optionally, the determining module is further configured to: if the value of the preset field is a fourth value, and a quantity of antenna ports of the first cell is different from a quantity of antenna ports of a second cell, determine that the operation mode of the first cell is an in-band operation mode.

In the data sending method, the data receiving method, the transmit-end device, and the receive-end device provided in the embodiments of this application, scrambling code initialization is performed to generate the scrambling code; the data block is scrambled based on the scrambling code; the scrambled data block is repeatedly sent; scrambling code initialization is performed to generate the new scrambling code when the interval after previous scrambling code initialization of the data block is greater than or equal to the scrambling code initialization parameter threshold; the data block is scrambled based on the generated new scrambling code; and the data block scrambled again is repeatedly sent. Scrambling code initialization does not need to be performed in each subframe, and is performed when the interval after previous scrambling code initialization of the data block is greater than or equal to the scrambling code initialization parameter threshold. Therefore, scrambling code randomization can be ensured, and the data sending method provided in the embodiments of this application can implement interference randomization. In addition, the previous same scrambling code is used when the interval after previous scrambling code initialization of the data block is less than the scrambling code initialization parameter threshold. Therefore, the data sending method provided in the embodiments of this application can further ensure that the receive-end device can perform processing such as frequency offset estimation by using the repeatedly sent data block, ensure accuracy of data transmission between a transmit-end device and a receive-end device, and improve data transmission efficiency.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a flowchart of a data sending method according to Embodiment 1 of this application;

FIG. 2 is a schematic diagram of performing scrambling code initialization when a data block occupies one subframe in a data sending method according to Embodiment 2 of this application;

FIG. 3 is a schematic diagram of performing scrambling code initialization when a data block occupies a plurality of subframes in a data sending method according to Embodiment 2 of this application;

FIG. 4 is another schematic diagram of performing scrambling code initialization when a data block occupies a plurality of subframes in a data sending method according to Embodiment 2 of this application;

FIG. 5 is a flowchart of a data sending method according to Embodiment 3 of this application;

FIG. 6 is a schematic diagram of performing scrambling code initialization in a data sending method according to Embodiment 3 of this application;

FIG. 7 is another schematic diagram of performing scrambling code initialization in a data sending method according to Embodiment 3 of this application;

FIG. 8 is a flowchart of a data sending method according to Embodiment 4 of this application;

FIG. 9 is a flowchart of a data sending method according to Embodiment 5 of this application;

FIG. 10 is a flowchart of a data transmission method according to Embodiment 6 of this application;

FIG. 11 is a schematic structural diagram of a transmit-end device according to Embodiment 7 of this application;

FIG. 12 is a schematic structural diagram of a transmit-end device according to Embodiment 8 of this application;

FIG. 13 is a schematic structural diagram of a transmit-end device according to Embodiment 9 of this application;

FIG. 14 is a schematic structural diagram of a transmit-end device according to Embodiment 10 of this application;

FIG. 15 is a schematic structural diagram of a transmit-end device according to Embodiment 11 of this application;

FIG. 16 is a schematic structural diagram of a transmit-end device according to Embodiment 12 of this application;

FIG. 17 is a schematic structural diagram of a transmit-end device according to Embodiment 13 of this application; and

FIG. 18 is a schematic structural diagram of a receive-end device according to Embodiment 13 of this application.

DETAILED DESCRIPTION

A data sending method provided in embodiments of this application may be applied to a network system based on an LTE communications technology, that is, an LTE network system. The LTE network system may include, for example, an Internet of Thing (TOT) system. In TOT serving as “Internet of object-to-object communication”, information may be exchanged and communicated between objects. This communication manner may also be referred to as machine type communication (MTC). A terminal in TOT may also be referred to as an MTC terminal. Typical applications of Internet of Thing include smart metering, smart household, and the like. In narrow band Internet of Thing (NB-TOT) of TOT, to ensure that a receive-end device can accurately receive a complete data block, data is repeatedly sent.

It should be noted that data sending methods provided in the embodiments of this application are not limited to usage in the scenarios described above, and may be further used in any other scenarios of repeated data transmission between a transmit-end device and a receive-end device.

All the data sending methods provided in the embodiments of this application may be performed by a transmit-end device. The transmit-end device may be a terminal or a network device such as a base station. If the transmit-end device is a terminal, the data sending methods may be used for uplink data transmission. If the transmit-end device is a network device, the data sending method may be further used for downlink data transmission. In other words, the data sending methods may be applied to both uplink data transmission and downlink data transmission.

FIG. 1 is a flowchart of a data sending method according to Embodiment 1 of this application. As shown in FIG. 1, the method may include the following steps.

S101: Perform scrambling code initialization to generate a scrambling code.

Specifically, a different scrambling code is generated each time scrambling code initialization is performed, to implement randomization of a scrambling code of a current moment and a scrambling code of a previous moment. In S101, scrambling code initialization may be performed before a data block is sent for the first time, or scrambling code initialization may be performed at another moment.

In S101, scrambling code initialization may be performed by using an initialization formula corresponding to a preset sequence generator. The preset sequence generator may be, for example, a pseudo-random sequence generator such as a Gold sequence generator, or may be another type of sequence generator.

S102: Scramble a data block based on the scrambling code.

The data block occupies at least one subframe. In S102, the data block may be scrambled based on the scrambling code, so that randomization of information in the data block can be implemented, and randomization of interference with another cell by a cell of the transmit-end device can be implemented in a transmission process of the scrambled data block.

S103: Repeatedly send the scrambled data block.

Specifically, “repeatedly sending” indicates that sending is performed for a plurality of times. To be specific, in S103, the scrambled data block is actually sent for a plurality of times, until an interval after previous scrambling initialization of the data block is greater than or equal to a scrambling code initialization parameter threshold.

S104: Perform scrambling code initialization to generate a new scrambling code when an interval after previous scrambling code initialization of the data block is greater than or equal to a scrambling code initialization parameter threshold.

Specifically, the scrambling code initialization parameter threshold may be a parameter value preconfigured on a side of the transmit-end device in advance, or may be a parameter value configured for a side of the transmit-end device by using signaling. For example, if the transmit-end device is a terminal, the scrambling code initialization parameter threshold may be a value configured by a network device such as a base station by using higher layer signaling or control signaling.

Optionally, the interval may be a time interval, and the time interval may be indicated by a time, a quantity of subframes, a quantity of resource units (Resource Unit), or the like.

S105: Scramble the data block again based on the generated new scrambling code.

Specifically, in S105, the data block may be scrambled by using the implementation similar to that in S102.

S106: Repeatedly send the data block scrambled again.

In the data sending method provided in Embodiment 1 of this application, scrambling code initialization is performed to generate the scrambling code; the data block is scrambled based on the scrambling code; the scrambled data block is repeatedly sent; scrambling code initialization is performed to generate the new scrambling code when the interval after previous scrambling code initialization of the data block is greater than or equal to the scrambling code initialization parameter threshold; the data block is scrambled based on the generated new scrambling code; and the data block scrambled again is repeatedly sent. Scrambling code initialization does not need to be performed in each subframe, and is performed when the interval after previous scrambling code initialization of the data block is greater than or equal to the scrambling code initialization parameter threshold. Therefore, scrambling code randomization can be ensured, and the data sending method provided in this embodiment of this application can implement interference randomization. In addition, the previous same scrambling code is used when the interval after previous scrambling code initialization of the data block is less than the scrambling code initialization parameter threshold. Therefore, the data sending method provided in this embodiment of this application can further ensure that the receive-end device can perform processing such as frequency offset estimation by using the repeatedly sent data block, ensure accuracy of data transmission between a transmit-end device and a receive-end device, and improve data transmission efficiency.

Optionally, if the interval is indicated by a quantity of subframes, the scrambling code initialization parameter threshold may be a preset quantity of subframes.

Optionally, the quantity of subframes corresponding to the interval may include a quantity of valid subframes, or may include a quantity of all subframes. A network system of the transmit-end device and the receive-end device may be a network system based on an LTE communications technology, for example, Internet of Things based on an LTE communications technology. The valid subframe is a subframe of a corresponding frequency band resource of Internet of Things in a system based on an LTE communications technology.

The data block occupies at least one subframe, and the interval may be indicated by a quantity of subframes after previous scrambling code initialization of the data block. A length of the data block may be a quantity of subframes occupied by the data block. If the data block occupies at least one subframe, the length of the data block is the at least one subframe.

For example, the data block may occupy one subframe. To be specific, the data sending method provided in this embodiment of this application may be applied to a case in which the data block occupies one subframe. In a process of repeatedly sending the data block, when the interval after previous scrambling code initialization of the data block is greater than or equal to the scrambling code initialization parameter threshold, scrambling code initialization is performed.

FIG. 2 is a schematic diagram of performing scrambling code initialization when a data block occupies one subframe in a data sending method according to Embodiment 2 of this application. If the scrambling code initialization parameter threshold is Z, that is, when the interval after previous scrambling code initialization is greater than or equal to Z subframes in the data sending method provided in this embodiment of this application, scrambling code initialization may be performed.

Optionally, the method may further include:

if the interval after previous scrambling code initialization of the data block is less than the scrambling code initialization parameter threshold, only when the data block is transmitted for the first time, performing scrambling code initialization for the data block.

Optionally, the data block may be a code block obtained after coding and rate matching are performed on to-be-sent data. Therefore, the data block may also be referred to as a rate matched block (RMB).

For example, the data block may alternatively occupy a plurality of subframes. To be specific, the data sending method provided in this embodiment of this application may be applied to a case in which the data block occupies a plurality of subframes. In a process of repeatedly sending the data block, when the interval after previous scrambling code initialization of the data block is greater than or equal to the scrambling code initialization parameter threshold, scrambling code initialization is performed.

FIG. 3 is a schematic diagram of performing scrambling code initialization when a data block occupies a plurality of subframes in a data sending method according to Embodiment 2 of this application. Optionally, the data block occupies a plurality of subframes.

The performing scrambling code initialization to generate a new scrambling code when an interval after previous scrambling code initialization of the data block is greater than or equal to a scrambling code initialization parameter threshold described above in S104 may include:

if a quantity of subframes occupied by the data block is greater than or equal to the scrambling code initialization parameter threshold, performing scrambling code initialization each time the data block is repeatedly sent, to generate the new scrambling code.

Specifically, if the quantity of subframes occupied by the data block, that is, the quantity of subframes corresponding to the length of the data block, is greater than or equal to the scrambling code initialization parameter threshold, each time the data block is repeatedly sent, the interval after previous scrambling code initialization of the data block is greater than or equal to the scrambling code initialization parameter threshold. Therefore, scrambling code initialization may be performed each time the data block is repeatedly sent.

FIG. 4 is another schematic diagram of performing scrambling code initialization when a data block occupies a plurality of subframes in a data sending method according to Embodiment 2 of this application. Optionally, the performing scrambling code initialization to generate a new scrambling code when an interval after previous scrambling code initialization of the data block is greater than or equal to a scrambling code initialization parameter threshold described above in S104 may include:

if the quantity of subframes occupied by the data block is less than the scrambling code initialization parameter threshold, when a quantity of subframes after previous scrambling code initialization is greater than or equal to the scrambling code initialization threshold, performing scrambling code initialization for the data block.

Specifically, if the quantity of subframes corresponding to the quantity of subframes occupied by the data block is less than the scrambling code initialization parameter threshold, each time the data block is repeatedly sent, the interval after previous scrambling code initialization of the data block is less than the scrambling code initialization parameter threshold. Therefore, in the data sending method provided in this embodiment of this application, scrambling code initialization does not need to be performed each time the data block is repeatedly sent. Instead, when the data block is repeatedly sent for a plurality of times until the interval after previous scrambling code initialization of the data block is greater than or equal to the scrambling code initialization parameter threshold, scrambling code initialization is performed.

Optionally, the data block is an RMB, or a code block corresponding to a redundancy version (RV) of the RMB, and the RMB is a code block obtained after coding and rate matching are performed on to-be-sent data.

It should be noted that FIG. 3 and FIG. 4 are actually described by using a case in which the data block is an RMB. If the data block is a code block corresponding to an RV of an RMB, a schematic diagram of scrambling code initialization is similar to FIG. 3 and FIG. 4. Details are not described herein again.

Optionally, both the performing scrambling code initialization to generate a scrambling code described above in S101, and the performing scrambling code initialization to generate a scrambling code described above in S104 may include:

performing scrambling code initialization by using the following formula (1):

c _(init)=η_(RNTI)·2¹⁴ +A· ⁹ +N _(ID) ^(cell)  formula (1), where

c_(init) is a scrambling code, n_(RNTI) is a radio network temporary identifier identifying a terminal, A is a variable value and indicates the ninth to the thirteenth bits of bits that are in ascending order, and N_(ID) ^(cell) is a cell identity number.

Optionally, A is obtained by using any one of the following formula (2) to formula (7)

$\begin{matrix} {{A = {{q \cdot 2^{4}} + \left\{ {\left\lbrack {{SFN} + \left\lfloor \frac{n_{s}}{2} \right\rfloor} \right\rbrack {mod}\; 16} \right\}}},} & {{formula}\mspace{14mu} (2)} \end{matrix}$

where q remains 0 or 1, or is obtained by performing negation on a previous value each time scrambling code initialization is performed;

$\begin{matrix} {{A = {{q \cdot 2^{4}} + \left\{ {\left\lbrack {{SFN} + \left\lfloor \frac{n_{s}}{2} \right\rfloor + {\# {Rep}}} \right\rbrack {mod}\; 16} \right\}}},} & {{formula}\mspace{14mu} (3)} \end{matrix}$

where q remains 0 or 1, or is obtained by performing negation on a previous value each time scrambling code initialization is performed;

$\begin{matrix} {{A = {{q \cdot 2^{4}} + \left\{ {\left\lbrack {\left\lfloor \frac{n_{s}}{2} \right\rfloor + {\# {Rep}}} \right\rbrack {mod}\; 16} \right\}}},} & {{formula}\mspace{14mu} (4)} \end{matrix}$

where q remains 0 or 1, or is obtained by performing negation on a previous value each time scrambling code initialization is performed;

$\begin{matrix} {A = {\left\lbrack {{SFN} + \left\lfloor \frac{n_{s}}{2} \right\rfloor} \right\rbrack {mod}\; 3\; 2}} & {{formula}\mspace{14mu} (5)} \\ {{{A = {\left\lbrack {{SFN} + \left\lfloor \frac{n_{s}}{2} \right\rfloor + {\# {Rep}}} \right\rbrack {mod}\; 32}};}{and}} & {{formula}\mspace{14mu} (6)} \\ {A = {\left\lbrack {\left\lfloor \frac{n_{s}}{2} \right\rfloor + {\# {Rep}}} \right\rbrack {mod}\; 32.}} & {{formula}\mspace{14mu} (7)} \end{matrix}$

In the foregoing formulas, SFN indicates a system frame number, n_(s) indicates a number of a corresponding timeslot in which the data block is repeatedly sent currently, #Rep indicates a repetition sequence number corresponding to current repeated sending of the data block, ┐•┘ indicates rounding down, and mod indicates modulo.

The data sending method provided in Embodiment 2 of this application may be described as a plurality of data sending methods for a data block of one subframe and a data block of a plurality of subframes, so that the data sending method can implement interference randomization when a data block of one subframe or a data block of a plurality of subframes is sent, can further ensure that a receive-end device can perform processing such as frequency offset estimation by using the repeatedly sent data block, ensure accuracy of data transmission between a transmit-end device and a receive-end device, and improve data transmission efficiency.

Embodiment 3 of this application further provides a data sending method. FIG. 5 is a flowchart of a data sending method according to Embodiment 3 of this application. As shown in FIG. 5, the method may include:

S501: Perform scrambling code initialization to generate a scrambling code at the beginning of each repetition period of a data block, where a sum of quantities of repetitions in all repetition periods of the data block is equal to a quantity of repetitions required by the data block.

S502: Scramble the data block based on the scrambling code.

It should be noted that a specific implementation of S502 may be similar to an implementation process of S102 in the foregoing embodiment. For specifics, refer to the foregoing embodiment. Details are not described herein again.

S503: Repeatedly send the scrambled data block in each repetition period based on a quantity of repetitions corresponding to the repetition period.

In the data sending method provided in Embodiment 3 of this application, scrambling code initialization is performed to generate the scrambling code at the beginning of each repetition period of the data block, where the sum of the quantities of repetitions in all the repetition periods of the data block is equal to the quantity of repetitions required by the data block, the data block is scrambled based on the scrambling code, and the scrambled data block is repeatedly sent in each repetition period based on the quantity of repetitions corresponding to the repetition period. Because scrambling code initialization does not need to be performed in each subframe, the data sending method provided in this embodiment of this application can further ensure that a receive-end device can perform processing such as frequency offset estimation by using the repeatedly sent data block, ensure accuracy of data transmission between a transmit-end device and a receive-end device, and improve data transmission efficiency while implementing interference randomization.

Optionally, the data block includes a plurality of sub-blocks, and each sub-block corresponds to at least one subframe. The data block may occupy a plurality of subframes.

Optionally, all the repetition periods include at least one repetition period.

Optionally, the performing scrambling code initialization at the beginning of each repetition period of a data block in S501 in the method may include:

performing scrambling code initialization at the beginning of each repetition period, to obtain a scrambling code corresponding to the repetition period.

Optionally, the scrambling the data block based on the scrambling code described above in S502 may include:

separately scrambling a plurality of sub-blocks of the data block based on the scrambling code corresponding to the repetition period.

Optionally, the repeatedly sending the scrambled data block in each repetition period based on a quantity of repetitions corresponding to the repetition period described above in S503 may include:

repeatedly sending the plurality of scrambled sub-blocks sequentially in each repetition period based on the quantity of repetitions corresponding to the repetition period.

Specifically, if the data block includes M sub-blocks, the quantity of repetitions corresponding to each repetition period may be, for example, N. In each repetition period, a first sub-block may be repeatedly sent for N times first, and then a second sub-block may be repeatedly sent for N times, and so on, until a last sub-block is repeatedly sent for N times.

For example, the data block includes a plurality of sub-blocks, the data block has one repetition period, and a quantity of repetitions corresponding to the repetition period is equal to the quantity of repetitions required by the data block. FIG. 6 is a schematic diagram of performing scrambling code initialization in a data sending method according to Embodiment 3 of this application. As shown in FIG. 6, in the method, a transmit-end device may perform scrambling code initialization at the beginning of the repetition period, that is, before the data block is transmitted for the first time.

For example, if the data block includes a plurality of sub-blocks, the data block has a plurality of repetition periods, and a sum of quantities of repetitions corresponding to the plurality of repetition periods is equal to the quantity of repetitions required by the data block. FIG. 7 is another schematic diagram of performing scrambling code initialization in a data sending method according to Embodiment 3 of this application. As shown in FIG. 7, in the method, the transmit-end device may perform scrambling code initialization at the beginning of each of the plurality of repetition periods, to obtain a scrambling code corresponding to each repetition period, so that different repetition periods correspond to different scrambling codes, and a same repetition period corresponds to one scrambling code.

Optionally, the data block is an RMB, the RMB is a code block obtained after coding and rate matching are performed on to-be-sent data, and the RMB includes code blocks corresponding to at least two RVs.

Each sub-block corresponds to a subframe or an RV.

Specifically, if each sub-block corresponds to one subframe, and the data block has one repetition period, the data block may be sent in a subframe repetition sending manner. If the data block has a plurality of repetition periods, the data block is sent in a cyclic subframe repetition sending manner.

If each sub-block corresponds to one RV, and the data block has one repetition period, the data block is sent in an RV repetition sending manner. If all the repetition periods of the data block include a plurality of repetition periods, the data block is sent in a cyclic RV repetition sending manner.

It should be noted that a specific implementation of performing scrambling code initialization in S501 of this data sending method may be similar to the specific implementation of performing scrambling code initialization in S101 of the data sending method provided in the foregoing embodiment. Details are not described again.

In the data sending method provided in Embodiment 3 of this application, scrambling code initialization may be performed at the beginning of each repetition period of the data block, so that when a data block of a plurality of subframes is sent in the data sending method, different repetition periods have different scrambling codes. Therefore, interference randomization can be implemented. In addition, a same scrambling code is used in a same repetition period. Therefore, the method can further ensure that a receive-end device can perform processing such as frequency offset estimation by using the repeatedly sent data block, ensure accuracy of data transmission between a transmit-end device and a receive-end device, and improve data transmission efficiency.

Embodiment 4 of this application further provides a data sending method. FIG. 8 is a flowchart of a data sending method according to Embodiment 4 of this application. As shown in FIG. 8, the method may include:

S801: Determine a bandwidth parameter based on a subcarrier spacing, where the bandwidth parameter is a quantity of subcarriers.

Specifically, in S801, a bandwidth parameter corresponding to the subcarrier spacing may be determined as the bandwidth parameter based on the subcarrier spacing and a preset correspondence between the subcarrier spacing and the bandwidth parameter. The bandwidth parameter may be a quantity of subcarriers corresponding to the transmit-end device. The subcarrier corresponding to the transmit-end device may be, for example, a usable subcarrier of the transmit-end device in a network system of the transmit-end device.

S802: Determine transmit power based on the bandwidth parameter.

Optionally, in S802, the transmit power may be determined based on the bandwidth parameter by using the following formula (8):

$\begin{matrix} {{P(i)} = {\min {\begin{Bmatrix} {{P_{MAX}(i)},} \\ {{10{\log_{10}\left( {M(i)} \right)}} + {P(j)} + {{\alpha (j)} \cdot {PL}} + {\Delta (i)} + {f(i)}} \end{Bmatrix}.}}} & {{formula}\mspace{14mu} (8)} \end{matrix}$

M(i) may be the bandwidth parameter, P(i) the transmit power, P_(MAX)(i) is preset maximum transmit power, P(j) is target receive power of the receive-end device, α(j) is a preset path loss compensation coefficient, α_(c)(j) may be less than 1, PL_(c) is path loss power, Δ_(TF,c)(i) is compensation power corresponding to an MCS, and f_(c)(i) is a power adjustment corresponding to closed-loop power control.

S803: Send a data block on the subcarrier by using the transmit power.

Optionally, the determining a bandwidth parameter based on a subcarrier spacing in S801 of the method described above in this embodiment may include:

if the subcarrier spacing is a first spacing, determining a ratio of the first spacing to a second spacing as the bandwidth parameter, where the second spacing is greater than the first spacing.

Specifically, because the data sending method provided in the embodiments of this application may be applied to any network system such as NB-IOT in an LTE communications system, the first spacing may be a subcarrier spacing corresponding to the network system such as the NB-IOT in the LTE communications system. The second spacing may be a subcarrier spacing corresponding to the LTE communications system.

For example, the first spacing may be 3.75 kHz, and the second spacing may be 15 kHz.

Optionally, the sending a data block on the subcarrier by using the transmit power described above in S803 may include:

sending the data block on a single subcarrier of subcarriers between which the subcarrier spacing is the first spacing by using the transmit power.

Specifically, the transmit-end device may transmit the data block on a single carrier of subcarriers between which the subcarrier spacing is 3.75 kHz by using the transmit power. In other words, the transmit-end device may perform transmission on a single carrier transmission manner whose subcarrier spacing is 3.75 kHz.

Alternatively, the determining a bandwidth parameter based on a subcarrier spacing described above in S801 may include:

if the subcarrier spacing is a second spacing, determining a quantity of subcarriers between which the subcarrier spacing is the second spacing as the bandwidth parameter.

Specifically, the second spacing may be a subcarrier spacing corresponding to the LTE communications system.

Optionally, the sending a data block on the subcarrier by using the transmit power described above in S803 may include:

sending the data block on at least one of subcarriers between which the subcarrier spacing is the second spacing by using the transmit power.

Specifically, the transmit-end device may transmit the data block on a single carrier of subcarriers between which the subcarrier spacing is 15 kHz by using the transmit power, or may transmit the data block on a plurality of subcarriers between which the subcarrier spacing is 15 kHz.

For example, the second spacing may be 15 kHz, and the quantity of subcarriers that are spaced by the second spacing is 1, 3, 6, or 12. To be specific, the transmit-end device may transmit the data block on a single carrier of subcarriers between which the subcarrier spacing is 15 kHz by using the transmit power, may transmit the data block on three subcarriers between which the subcarrier spacing is 15 kHz by using the transmit power, may transmit the data block on six subcarriers between which the subcarrier spacing is 15 kHz by using the transmit power, or may transmit the data block on 12 subcarriers between which the subcarrier spacing is 15 kHz by using the transmit power.

To be specific, the transmit-end device may perform transmission in a single-carrier transmission manner whose subcarrier spacing is 15 kHz, a three-carrier transmission manner whose subcarrier spacing is 15 kHz, a six-carrier transmission manner whose subcarrier spacing is 15 kHz, a 12-carrier transmission manner whose subcarrier spacing is 15 kHz, and the like.

Therefore, the determining a bandwidth parameter based on a subcarrier spacing described in S801 of the foregoing embodiment may include:

determining, based on a transmission manner of the transmit-end device, a subcarrier spacing corresponding to the transmit-end device, and determining the bandwidth parameter based on the subcarrier spacing.

Specifically, the transmit-end device may determine, by using a preset correspondence table of a transmission manner and a bandwidth parameter, the subcarrier spacing corresponding to the transmit-end device, and determine the bandwidth parameter based on the subcarrier spacing. The preset correspondence table of a transmission manner and a bandwidth parameter may be, for example, the following Table 1:

TABLE 1 Transmission manner M_(PUSCH, c) (i) Single-carrier transmission manner whose subcarrier ¼ spacing is 3.75 kHz Single-carrier transmission manner whose subcarrier 1 spacing is 15 kHz Three-carrier transmission manner whose subcarrier 3 spacing is 15 kHz Six-carrier transmission manner whose subcarrier 6 spacing is 15 kHz 12-carrier transmission manner whose subcarrier 12 spacing is 15 kHz

Embodiment 5 of this application further provides a data sending method. FIG. 9 is a flowchart of a data sending method according to Embodiment 5 of this application. As shown in FIG. 9, the method may include:

S901: Determine transmit power based on a preset quantity of repetitions and a preset modulation and coding scheme (MCS).

Specifically, the preset quantity of repetitions may be a quantity of times of repeated sending that is of a data block and that corresponds to a transmit-end device, and the preset MCS may be an MCS corresponding to the transmit-end device.

S902: Repeatedly send a data block by using the transmit power and the preset quantity of repetitions.

Optionally, the determining transmit power based on a preset quantity of repetitions and a preset MCS described above in S901 may include:

if a preset quantity of times of repeated sending is greater than or equal to a quantity of repetitions corresponding to the preset MCS, determining maximum transmit power as the transmit power.

Specifically, each MCS may correspond to a threshold of a quantity of repetitions, and different MCSs may correspond to different quantities of repetitions. The quantity of repetitions corresponding to the preset MCS may be a threshold of a quantity of times of repeated sending that is of the data block and that corresponds to the transmit-end device. The maximum transmit power may be maximum transmit power such as P_(MAX)(i) corresponding to a preset power control policy of the transmit-end device.

Alternatively, the determining transmit power based on a preset quantity of repetitions and a preset MCS described above in S901 includes:

determining a bit rate based on a preset quantity of times of repeated sending and the preset MCS; and

if the bit rate is less than or is equal to a preset bit rate value, determining maximum transmit power as the transmit power.

In the data sending method provided in Embodiment 5 of this application, the transmit power may be determined based on the preset quantity of repetitions and the preset modulation and coding scheme MCS, and the data block is repeatedly sent by using the transmit power and the preset quantity of repetitions, so that the receive-end device can better receive the data block, and coverage of sending the data block is expanded.

Embodiment 6 of this application further provides a data transmission method. FIG. 10 is a flowchart of a data transmission method according to Embodiment 6 of this application. As shown in FIG. 10, the method may include:

S1001: Determine a value of a preset field in a narrow band master information block (NB-MIB) based on an operation mode of a first cell.

The narrow band master information block may be a master information block in narrow band Internet of Thing. The narrow band Internet of Thing requires only a minimum frequency spectrum of 180 kHz for networking.

S1002: Send the narrow band master information block.

Specifically, in S1002, the narrow band master information block may be sent by using a broadcast channel.

S1003: Receive the narrow band master information block.

S1004: Determine the operation mode of the first cell based on the value of the preset field in the narrow band master information block.

In the method provided in Embodiment 6, S1001 and S1002 may be performed by a network device such as a base station, and S1003 and S1004 may be performed by a terminal.

Optionally, the determining a value of a preset field in a narrow band master information block based on an operation mode of a first cell described above in S1001 includes:

if the operation mode of the first cell is a standalone operation mode, configuring the value of the preset field to a first value; or

if the operation mode of the first cell is a guard-band operation mode, configuring the value of the preset field to a second value, where the first value is different from the second value.

Specifically, if the operation mode of the cell, that is, the first cell of the transmit-end device is the standalone operation mode, the value of the preset field may be configured to the first value such as 00. A frequency spectrum resource of a network of the first cell is different from a frequency spectrum resource corresponding to the second cell, and networking may be independently performed for the network of the first cell such as narrow band Internet of Thing by using a separate frequency spectrum. The frequency spectrum may come from a carrier of 200 kHz obtained by division in an existing GSM network, or a scattered frequency spectrum.

If the operation mode of the cell, that is, the first cell of the transmit-end device is a guard-band operation mode, the value of the preset field may be configured to the second value such as 01. The frequency spectrum resource of the network of the first cell is a frequency spectrum resource in a guard bandwidth of the second cell. For example, networking is performed for narrow band Internet of Thing by using a frequency spectrum of a guard bandwidth of a frequency spectrum resource in an LTE network. For example, an LTE carrier of 10 MHz has a guard band of 500 kHz at each of two ends of a frequency spectrum, and each guard band may provide at least a frequency spectrum of 180 kHz for narrow band Internet of Thing.

Optionally, the determining a value of a preset field in a narrow band master information block based on an operation mode of a first cell described above in S1001 includes:

if the operation mode of the first cell is an in-band operation mode, and a quantity of antenna ports of a narrow band reference signal of the first cell is the same as a quantity of antenna ports of a cell-specific reference signal of the second cell, configuring the value of the preset field to a third value, where the third value may be, for example, 10.

Alternatively, the determining a value of a preset field in a narrow band master information block based on an operation mode of a first cell described above in S1001 includes:

if the operation mode of the first cell is an in-band operation mode, and a quantity of antenna ports of the first cell is different from a quantity of antenna ports of a second cell, configuring the value of the preset field to a fourth value, where the fourth value may be, for example, 11.

Optionally, the determining the operation mode of the first cell based on the value of the preset field in the narrow band master information block described above in S1004 includes:

if the value of the preset field is the first value, determining that the operation mode of the first cell is the standalone operation mode; or

if the value of the preset field is the second value, determining that the operation mode of the first cell is the guard-band operation mode; or

Optionally, the determining the operation mode of the first cell based on the value of the preset field in the narrow band master information block described above in S1004 includes:

if the value of the preset field is the third value, and the quantity of antenna ports of the first cell is the same as the quantity of antenna ports of the second cell, determining that the operation mode of the first cell is the in-band operation mode.

Optionally, the determining the operation mode of the first cell based on the value of the preset field in the narrow band master information block described above in S1004 includes:

if the value of the preset field is the fourth value, and the quantity of antenna ports of the first cell is different from the quantity of antenna ports of a second cell, determining that the operation mode of the first cell is an in-band operation mode.

Specifically, if the value of the preset field is the third value or the fourth value, it may be determined that the operation mode corresponding to the transmit-end device is the in-band operation mode. In other words, the frequency spectrum resource of the network of the first cell is some frequency spectrum resources of in-band resources of the second cell. For example, networking is performed for narrow band Internet of Thing by using one or more physical resource blocks (PRB) of 180 kHz in an LTE frequency spectrum.

In a network access process, a terminal in narrow band Internet of Thing needs to read a narrow band master information block periodically broadcast on a narrow band Internet of Thing broadcast channel (Narrow Band-Physical Broadcast Channel, NB-PBCH), to obtain a key system parameter. The operation mode is a parameter. Because key parameters in different operation modes are not completely the same, a relatively desirable practice is that how to interpret all other parameters than the operation mode in the NB-MIB is determined based on a value of the parameter of the operation mode.

If narrow band Internet of Thing is in the in-band operation mode, some symbol resources in a PRB used for the narrow band Internet of Thing are occupied by an LTE cell, and cannot be used by UE in the narrow band Internet of Thing. In this case, the UE in the narrow band Internet of Thing further needs to read a quantity of antenna ports of a reference signal of a corresponding LTE cell from the NB-MIB, to determine a resource already occupied by the cell-specific reference signal of the LTE cell.

A quantity of antenna ports corresponding to a narrow band reference signal of a narrow band cell in narrow band Internet of Thing may be 1 or 2, and may be obtained by a terminal from the NB-MIB on the narrow band Internet of Thing broadcast channel. A correspondence between a quantity of antenna ports corresponding to a cell-specific reference signal of an LTE cell and a quantity of antenna ports corresponding to a narrow band reference signal of a narrow band cell may be shown in the following Table 2.

TABLE 2 Cell-specific reference signal Quantity of antenna ports Cell-specific reference signal of 1 2 4 an LTE cell Narrow band reference signal of a 1 2 2 narrow band cell

It can be learned from Table 2 that when the quantity of antenna ports corresponding to the narrow band reference signal of the narrow band cell is known, the terminal in the narrow band Internet of Thing may know, based on whether the quantity of antenna ports corresponding to the narrow band reference signal of the narrow band cell is the same as the quantity of antenna ports corresponding to the cell-specific reference signal of the LTE cell, the quantity of antenna ports corresponding to the cell-specific reference signal of the LTE cell. This information may be indicated by one bit. However, because this information needs to exist only when narrow band Internet of Thing is in the in-band operation mode, a more efficient encoding manner is encoding this information and the operation mode of the narrow band Internet of Thing together. For example, in two bits of the operation mode, 00 indicates the standalone operation mode, 01 indicates the guard-band operation mode, 10 indicates the in-band operation mode and that the quantities of antenna ports corresponding to the narrow band reference signal of the narrow band cell and the cell-specific reference signal of the LTE cell are the same, and 11 indicates the in-band operation mode and that the quantities of antenna ports corresponding to the narrow band reference signal of the narrow band cell and the cell-specific reference signal of the LTE cell are different.

In the data transmission method provided in Embodiment 6 of this application, the operation mode of the first cell may be determined based on the value of the preset field in the narrow band master information block NB-MIB, where the NB-MIB is sent by a network device in the first cell.

Embodiment 7 of this application provides a transmit-end device. FIG. 11 is a schematic structural diagram of a transmit-end device according to Embodiment 4 of this application. As shown in FIG. 11, the transmit-end device 1100 may include: a generation module 1101, a scrambling module 1102, and a sending module 1103.

The generation module 1101 and the scrambling module 1102 may be implemented by using a processor in the transmit-end device 1100. The sending module 1103 may be implemented by using a transmitter device or a transmit antenna in the transmit-end device 1100.

The generation module 1101 is configured to perform scrambling code initialization to generate a scrambling code.

The scrambling module 1102 is configured to scramble a data block based on the scrambling code.

The sending module 1103 is configured to repeatedly send the scrambled data block.

The generation module 1101 is further configured to perform scrambling code initialization to generate a new scrambling code when an interval after previous scrambling code initialization of the data block is greater than or equal to a preset scrambling code initialization parameter threshold.

The scrambling module 1102 is further configured to scramble the data block again based on the generated new scrambling code.

The sending module 1103 is further configured to repeatedly send the data block scrambled again.

The transmit-end device provided in Embodiment 7 of this application may be configured to execute any data sending method described above in Embodiment 1 or 2. Beneficial effects thereof are similar to those in the foregoing embodiment. Details are not described herein again.

Optionally, the interval is indicated by a quantity of time or resource units.

Optionally, the interval is indicated by a quantity of subframes.

Optionally, the data block occupies at least one subframe; and

the generation module 1101 is further configured to: if a quantity of subframes occupied by the data block is greater than or equal to the scrambling code initialization parameter threshold, perform scrambling code initialization each time the data block is repeatedly sent, to generate the new scrambling code.

Optionally, if the data block occupies at least one subframe,

the generation module 1101 is further configured to: if a quantity of subframes occupied by the data block is less than the scrambling code initialization parameter threshold, perform scrambling code initialization to generate the new scrambling code when a quantity of subframes after previous scrambling code initialization is greater than or equal to the scrambling code initialization parameter threshold.

Optionally, the data block is a rate matched block RMB, or a code block corresponding to a redundancy version RV of the RMB, and the RMB is a code block obtained after coding and rate matching are performed on to-be-sent data.

Optionally, the generation module 1101 is further configured to perform scrambling code initialization by using the following formula (1):

c _(init)=η_(RNTI)·2¹⁴ +A· ⁹ +N _(ID) ^(cell)  formula (1), where

c_(init) is a scrambling code, n_(RNTI) is a radio network temporary identifier identifying a terminal, A is a variable value and indicates the ninth to the thirteenth bits of bits that are in ascending order, and N_(ID) ^(cell) is a cell identity number.

Optionally, the generation module 1101 is further configured to obtain A by using the following formula (2):

$\begin{matrix} {{A = {{q \cdot 2^{4}} + \left\{ {\left\lbrack {{SFN} + \left\lfloor \frac{n_{s}}{2} \right\rfloor} \right\rbrack {mod}\; 16} \right\}}},} & {{formula}\mspace{14mu} (2)} \end{matrix}$

where

q remains 0 or 1, or is obtained by performing negation on a previous value each time scrambling code initialization is performed; and

SFN indicates a system frame number, n_(s) indicates a number of a corresponding timeslot in which the data block is repeatedly sent currently, ┐•┘ indicates rounding down, and mod indicates modulo.

Alternatively, the generation module 1101 may be further configured to obtain A by using the following formula (3):

$\begin{matrix} {{A = {{q \cdot 2^{4}} + \left\{ {\left\lbrack {{SFN} + \left\lfloor \frac{n_{s}}{2} \right\rfloor + {\# {Rep}}} \right\rbrack {mod}\; 16} \right\}}},} & {{formula}\mspace{14mu} (3)} \end{matrix}$

where

q remains 0 or 1, or is obtained by performing negation on a previous value each time scrambling code initialization is performed; and

SFN indicates a system frame number, n_(s) indicates a number of a corresponding timeslot in which the data block is repeatedly sent currently, ┐•┘ indicates rounding down, #Rep indicates a repetition sequence number corresponding to current repeated sending of the data block, and mod indicates modulo.

Alternatively, the generation module 1101 may be further configured to obtain A by using the following formula (4):

$\begin{matrix} {{A = {{q \cdot 2^{4}} + \left\{ {\left\lbrack {\left\lfloor \frac{n_{s}}{2} \right\rfloor + {\# {Rep}}} \right\rbrack {mod}\; 16} \right\}}},} & {{formula}\mspace{14mu} (4)} \end{matrix}$

where

q remains 0 or 1, or is obtained by performing negation on a previous value each time scrambling code initialization is performed; and

n_(s) indicates a number of a corresponding timeslot in which the data block is repeatedly sent currently, ┐•┘ indicates rounding down, #Rep indicates a repetition sequence number corresponding to current repeated sending of the data block, and mod indicates modulo.

Alternatively, the generation module 1101 may be further configured to obtain A by using the following formula (5):

$\begin{matrix} {{A = {\left\lbrack {{SFN} + \left\lfloor \frac{n_{s}}{2} \right\rfloor} \right\rbrack {mod}\; 32}},} & {{formula}\mspace{14mu} (5)} \end{matrix}$

where

SFN indicates a system frame number, n_(s) indicates a number of a corresponding timeslot in which the data block is repeatedly sent currently, ┐•┘ indicates rounding down, and mod indicates modulo.

Alternatively, the generation module 1101 may be further configured to obtain A by using the following formula (6):

$\begin{matrix} {{A = {\left\lbrack {{SFN} + \left\lfloor \frac{n_{s}}{2} \right\rfloor + {\# {Rep}}} \right\rbrack {mod}\; 32}},} & {{formula}\mspace{14mu} (6)} \end{matrix}$

where

SFN indicates a system frame number, n_(s) indicates a number of a corresponding timeslot in which the data block is repeatedly sent currently, ┐•┘ indicates rounding down, #Rep indicates a repetition sequence number corresponding to current repeated sending of the data block, and mod indicates modulo.

Alternatively, the generation module 1101 may be further configured to obtain A by using the following formula (7):

$\begin{matrix} {{A = {\left\lbrack {\left\lfloor \frac{n_{s}}{2} \right\rfloor + {\# {Rep}}} \right\rbrack {mod}\; 32}},} & {{formula}\mspace{14mu} (7)} \end{matrix}$

where

n_(s) indicates a number of a corresponding timeslot in which the data block is repeatedly sent currently, #Re pindicates a repetition sequence number corresponding to current repeated sending of the data block, ┐•┘ indicates rounding down, and mod indicates modulo.

The transmit-end device provided in Embodiment 7 of this application may be configured to execute any data sending method described above in Embodiment 1 or 2. Beneficial effects thereof are similar to those in the foregoing embodiment. Details are not described herein again.

Embodiment 8 of this application further provides a transmit-end device. FIG. 12 is a schematic structural diagram of a transmit-end device according to Embodiment 5 of this application. As shown in FIG. 12, the transmit-end device 1200 may include: a generation module 1201, a scrambling module 1202, and a sending module 1203.

The generation module 1201 and the scrambling module 1202 may be implemented by using a processor in the transmit-end device 1200. The sending module 1203 may be implemented by using a transmitter device or a transmit antenna in the transmit-end device 1200.

The generation module 1201 is configured to perform scrambling code initialization to generate a scrambling code at the beginning of each repetition period of a data block, where a sum of quantities of repetitions in all repetition periods of the data block is equal to a quantity of repetitions required by the data block.

The scrambling module 1202 is configured to scramble a data block based on the scrambling code.

The sending module 1203 is configured to repeatedly send the scrambled data block in each repetition period based on a quantity of repetitions corresponding to the repetition period.

The transmit-end device provided in Embodiment 8 of this application may be configured to execute any data sending method described above in Embodiment 3. A specific implementation process and beneficial effects are similar to those in the foregoing embodiment. Details are not described herein again.

Optionally, the data block includes a plurality of sub-blocks, and each sub-block corresponds to at least one subframe.

Optionally, the data block is a rate matched block RMB, the RMB is a code block obtained after coding and rate matching are performed on to-be-sent data, and the RMB includes code blocks corresponding to at least two RVs; and

each sub-block corresponds to a subframe or a redundancy version RV.

Optionally, all the repetition periods include at least one repetition period.

The transmit-end device provided in Embodiment 8 of this application may be configured to execute any data sending method described above in Embodiment 3. A specific implementation process and beneficial effects are similar to those in the foregoing embodiment. Details are not described herein again.

Embodiment 9 of this application further provides a transmit-end device. FIG. 13 is a schematic structural diagram of a transmit-end device according to Embodiment 9 of this application. As shown in FIG. 13, the transmit-end device 1300 may include: a processor 1301 and a transmitter 1302.

The processor 1301 may be an integrated circuit chip having an instruction and data execution capability and a signal processing capability. In an implementation process, the steps of the foregoing methods may be performed by a hardware integrated logic circuit in the processor 1306 or an instruction in a form of software. The processor 1301 may be specifically a central processing unit (CPU), a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA) or other programmable logical devices, a discrete gate or transistor logical device, a discrete hardware component, or the like. The processor may implement or execute the methods, steps, and logical block diagrams disclosed in the embodiments of this application. A general-purpose processor may be a microprocessor or the processor may be any conventional processor or the like.

The transmitter 1302 may also be implemented by using a transmitter device or a transmit antenna.

The processor 1301 is configured to: perform scrambling code initialization to generate a scrambling code, and scramble a data block based on the scrambling code.

The transmitter 1302 may be configured to repeatedly send the scrambled data block.

The processor 1301 is further configured to: perform scrambling code initialization to generate a new scrambling code when an interval after previous scrambling code initialization of the data block is greater than or equal to a preset scrambling code initialization parameter threshold; and scramble the data block again based on the generated new scrambling code.

The transmitter 1302 may be configured to repeatedly send the data block scrambled again.

Optionally, the interval is indicated by a quantity of time or resource units.

Optionally, the interval is indicated by a quantity of subframes.

Optionally, the data block occupies at least one subframe; and the processor 1301 is further configured to: if a quantity of subframes occupied by the data block is greater than or equal to the scrambling code initialization parameter threshold, perform scrambling code initialization each time the data block is repeatedly sent, to generate the new scrambling code.

Optionally, if the data block occupies at least one subframe;

the processor 1301 is further configured to: if a quantity of subframes occupied by the data block is less than the scrambling code initialization parameter threshold, perform scrambling code initialization to generate the new scrambling code when a quantity of subframes after previous scrambling code initialization is greater than or equal to the scrambling code initialization parameter threshold.

Optionally, the data block is a rate matched block RMB, or a code block corresponding to a redundancy version RV of the RMB, and the RMB is a code block obtained after coding and rate matching are performed on to-be-sent data.

Optionally, the processor 1301 is further configured to perform scrambling code initialization by using the following formula (1):

c _(init)=η_(RNTI)·2¹⁴ +A· ⁹ +N _(ID) ^(cell)  formula (1), where

c_(init) is a scrambling code, n^(RNITI) is a radio network temporary identifier identifying a terminal, A is a variable value and indicates the ninth to the thirteenth bits of bits that are in ascending order, and N_(ID) ^(cell) is a cell identity number.

Optionally, the processor 1301 may be configured to obtain A by using the following formula (2):

$\begin{matrix} {{A = {{q \cdot 2^{4}} + \left\{ {\left\lbrack {{SFN} + \left\lfloor \frac{n_{s}}{2} \right\rfloor} \right\rbrack {mod}\; 16} \right\}}},} & {{formula}\mspace{14mu} (2)} \end{matrix}$

where

q remains 0 or 1, or is obtained by performing negation on a previous value each time scrambling code initialization is performed; and

SFN indicates a system frame number, n_(s) indicates a number of a corresponding timeslot in which the data block is repeatedly sent currently, ┐•┘ indicates rounding down, and mod indicates modulo.

Alternatively, the processor 1301 may be configured to obtain A by using the following formula (3):

$\begin{matrix} {{A = {{q \cdot 2^{4}} + \left\{ {\left\lbrack {{SFN} + \left\lfloor \frac{n_{s}}{2} \right\rfloor + {\# {Rep}}} \right\rbrack {mod}\; 16} \right\}}},} & {{formula}\mspace{14mu} (3)} \end{matrix}$

where

q remains 0 or 1, or is obtained by performing negation on a previous value each time scrambling code initialization is performed; and

SFN indicates a system frame number, n_(s) indicates a number of a corresponding timeslot in which the data block is repeatedly sent currently, ┐•┘ indicates rounding down, #Rep indicates a repetition sequence number corresponding to current repeated sending of the data block, and mod indicates modulo.

Alternatively, the processor 1301 may be configured to obtain A by using the following formula (4):

$\begin{matrix} {{A = {{q \cdot 2^{4}} + \left\{ {\left\lbrack {\left\lfloor \frac{n_{s}}{2} \right\rfloor + {\# {Rep}}} \right\rbrack {mod}\; 16} \right\}}},} & {{formula}\mspace{14mu} (4)} \end{matrix}$

where

q remains 0 or 1, or is obtained by performing negation on a previous value each time scrambling code initialization is performed; and

n_(s) indicates a number of a corresponding timeslot in which the data block is repeatedly sent currently, ┐•┘ indicates rounding down, #Rep indicates a repetition sequence number corresponding to current repeated sending of the data block, and mod indicates modulo.

Alternatively, the processor 1301 may be configured to obtain A by using the following formula (5):

$\begin{matrix} {{A = {\left\lbrack {{SFN} + \left\lfloor \frac{n_{s}}{2} \right\rfloor} \right\rbrack {mod}\; 32}},} & {{formula}\mspace{14mu} (5)} \end{matrix}$

where

SFN indicates a system frame number, n_(s) indicates a number of a corresponding timeslot in which the data block is repeatedly sent currently, ┐•┘ indicates rounding down, and mod indicates modulo.

Alternatively, the processor 1301 may be configured to obtain A by using the following formula (6):

$\begin{matrix} {{A = {\left\lbrack {{SFN} + \left\lfloor \frac{n_{s}}{2} \right\rfloor + {\# {Rep}}} \right\rbrack {mod}\; 32}},} & {{formula}\mspace{14mu} (6)} \end{matrix}$

where

SFN indicates a system frame number, n_(s) indicates a number of a corresponding timeslot in which the data block is repeatedly sent currently, ┐•┘ indicates rounding down, #Rep indicates a repetition sequence number corresponding to current repeated sending of the data block, and mod indicates modulo.

Alternatively, the processor 1301 may be configured to obtain A by using the following formula (7):

$\begin{matrix} {{A = {\left\lbrack {\left\lfloor \frac{n_{s}}{2} \right\rfloor + {\# {Rep}}} \right\rbrack {mod}\; 32}},} & {{formula}\mspace{14mu} (7)} \end{matrix}$

where

n_(s) indicates a number of a corresponding timeslot in which the data block is repeatedly sent currently, #Re pindicates a repetition sequence number corresponding to current repeated sending of the data block, ┐•┘ indicates rounding down, and mod indicates modulo.

The transmit-end device provided in Embodiment 9 of this application may be configured to execute any data sending method described above in Embodiment 1 or 2. Beneficial effects thereof are similar to those in the foregoing embodiment. Details are not described herein again.

Embodiment 10 of this application further provides a transmit-end device. FIG. 14 is a schematic structural diagram of a transmit-end device according to Embodiment 10 of this application. As shown in FIG. 14, the transmit-end device 1400 may include: a processor 1401 and a transmitter 1402.

The processor 1401 may be an integrated circuit chip having an instruction and data execution capability and a signal processing capability. In an implementation process, the steps of the foregoing methods may be performed by a hardware integrated logic circuit in the processor 1406 or an instruction in a form of software. The processor 1401 may be specifically a CPU, a DSP, an ASIC, an FPGA or other programmable logical devices, a discrete gate or transistor logical device, or a discrete hardware component. The processor may implement or execute the methods, steps, and logical block diagrams disclosed in the embodiments of this application. A general-purpose processor may be a microprocessor or the processor may be any conventional processor or the like.

The transmitter 1402 may also be implemented by using a transmitter device or a transmit antenna.

The processor 1401 is further configured to: perform scrambling code initialization to generate a scrambling code at the beginning of each repetition period of a data block, where a sum of quantities of repetitions in all repetition periods of the data block is equal to a quantity of repetitions required by the data block; and scramble the data block based on the scrambling code.

The transmitter 1402 is configured to repeatedly send the scrambled data block in each repetition period based on a quantity of repetitions corresponding to the repetition period.

Optionally, the data block includes a plurality of sub-blocks, and each sub-block corresponds to at least one subframe.

Optionally, the data block is a rate matched block RMB, the RMB is a code block obtained after coding and rate matching are performed on to-be-sent data, and the RMB includes code blocks corresponding to at least two RVs; and each sub-block corresponds to a subframe or a redundancy version RV.

Optionally, all the repetition periods include at least one repetition period.

The transmit-end device provided in Embodiment 10 of this application may be configured to execute any data sending method described above in Embodiment 3. Beneficial effects thereof are similar to those in the foregoing embodiment. Details are not described herein again.

Embodiment 11 of this application further provides a transmit-end device. FIG. 15 is a schematic structural diagram of a transmit-end device according to Embodiment 11 of this application. As shown in FIG. 15, the transmit-end device 1500 may include:

a determining module 1501, configured to: determine a bandwidth parameter based on a subcarrier spacing, where the bandwidth parameter is a quantity of subcarriers, and determine transmit power based on the bandwidth parameter; and a sending module 1502, configured to send a data block on the subcarrier by using the transmit power.

Optionally, the determining module 1501 is further configured to: if the subcarrier spacing is a first spacing, determine a ratio of the first spacing to a second spacing as the bandwidth parameter, where the second spacing is greater than the first spacing.

The sending module 1502 is further configured to send the data block on a single subcarrier of subcarriers between which the subcarrier spacing is the first spacing by using the transmit power.

Optionally, the first spacing is 3.75 kHz, and the second spacing is 15 kHz.

Optionally, the determining module 1501 is further configured to: if the subcarrier spacing is a second spacing, determine a quantity of subcarriers between which the subcarrier spacing is the second spacing as the bandwidth parameter; and the sending module 1502 is further configured to send the data block on at least one of subcarriers between which the subcarrier spacing is the second spacing by using the transmit power.

Optionally, the second spacing is 15 kHz, and the quantity of subcarriers that are spaced by the second spacing is 1, 3, 6, or 12.

The transmit-end device provided in Embodiment 11 of this application may execute the data sending method provided in Embodiment 4. An implementation process and beneficial effects are similar to those in the foregoing embodiment. Details are not described herein again.

Embodiment 12 of this application further provides a transmit-end device. FIG. 16 is a schematic structural diagram of a transmit-end device according to Embodiment 12 of this application. As shown in FIG. 16, the transmit-end device 1600 may include:

a determining module 1601, configured to determine transmit power based on a preset quantity of repetitions and a preset MCS; and

a sending module 1602, configured to repeatedly send a data block by using the transmit power and the preset quantity of repetitions.

Optionally, the determining module 1601 is further configured to: if a preset quantity of times of repeated sending is greater than or equal to a quantity of repetitions corresponding to the preset MCS, determine maximum transmit power as the transmit power.

Alternatively, the determining module 1601 is further configured to: determine a bit rate based on a preset quantity of times of repeated sending and the preset MCS; and if the bit rate is less than or is equal to a preset bit rate value, determine maximum transmit power as the transmit power.

The transmit-end device provided in Embodiment 12 of this application may execute the data sending method provided in Embodiment 5. An implementation process and beneficial effects are similar to those in the foregoing embodiment. Details are not described herein again.

Embodiment 13 of this application further provides a transmit-end device. FIG. 17 is a schematic structural diagram of a transmit-end device according to Embodiment 13 of this application. As shown in FIG. 17, the transmit-end device 1700 may include:

a determining module 1701, configured to determine a value of a preset field in a narrow band master information block based on an operation mode of a first cell; and

a sending module 1702, configured to send the narrow band master information block.

Optionally, the determining module 1701 is further configured to: if the operation mode of the first cell is a standalone operation mode, configure the value of the preset field to a first value; or if the operation mode of the first cell is a guard-band operation mode, configure the value of the preset field to a second value, where the first value is different from the second value.

Optionally, the determining module 1701 is further configured to: if the operation mode of the first cell is an in-band operation mode, and a quantity of antenna ports of the first cell is the same as a quantity of antenna ports of a second cell, configure the value of the preset field to a third value.

Optionally, the determining module 1702 is further configured to: if the operation mode of the first cell is an in-band operation mode, and a quantity of antenna ports of the first cell is different from a quantity of antenna ports of a second cell, configure the value of the preset field to a fourth value.

Embodiment 13 of this application further provides a receive-end device. FIG. 18 is a schematic structural diagram of a receive-end device according to Embodiment 13 of this application. As shown in FIG. 18, the transmit-end device 1800 may include:

a receiving module 1801, configured to receive a narrow band master information block; and

a determining module 1802, configured to determine an operation mode of a first cell based on a value of a preset field in the narrow band master information block.

Optionally, the determining module 1801 is further configured to: if the value of the preset field is a first value, determine that the operation mode of the first cell is a standalone operation mode; or if the value of the preset field is a second value, determine that the operation mode of the first cell is a guard-band operation mode.

Optionally, the determining module 1801 is further configured to: if the value of the preset field is a third value, and a quantity of antenna ports of the first cell is the same as a quantity of antenna ports of a second cell, determine that the operation mode of the first cell is an in-band operation mode.

Optionally, the determining module 1801 is further configured to: if the value of the preset field is a fourth value, and a quantity of antenna ports of the first cell is different from a quantity of antenna ports of a second cell, determine that the operation mode of the first cell is an in-band operation mode.

The transmit-end device and the receive-end device provided in Embodiment 13 of this application may execute the data transmission method provided in Embodiment 6. An implementation process and beneficial effects are similar to those in the foregoing embodiment. Details are not described herein again.

Persons of ordinary skill in the art may understand that all or some of the steps of the method embodiments may be implemented by a program instructing relevant hardware. The program may be stored in a computer-readable storage medium. When the program runs, the steps of the method embodiments are performed. The foregoing storage medium includes: any medium that can store program code, such as a ROM, a RAM, a magnetic disk, or an optical disc.

Finally, it should be noted that the foregoing embodiments are merely intended for describing the technical solutions of this application other than limiting this application. Although this application is described in detail with reference to the foregoing embodiments, persons of ordinary skill in the art should understand that they may still make modifications to the technical solutions described in the foregoing embodiments or make equivalent replacements to some or all technical features thereof, without departing from the scope of the technical solutions of the embodiments of the present invention. 

What is claimed is:
 1. A data sending method, comprising: determining a bandwidth parameter based on a subcarrier spacing, wherein the bandwidth parameter is a quantity of subcarriers; determining transmit power based on the bandwidth parameter; and sending a data block on the subcarrier by using the transmit power.
 2. The method according to claim 1, wherein: determining a bandwidth parameter based on a subcarrier spacing comprises: when the subcarrier spacing is a first spacing, determining a ratio of the first spacing to a second spacing as the bandwidth parameter, wherein the second spacing is greater than the first spacing; and sending a data block on the subcarrier by using the transmit power comprises: sending the data block on a single subcarrier of subcarriers between which the subcarrier spacing is the first spacing by using the transmit power.
 3. The method according to claim 2, wherein the first spacing is 3.75 kHz, and the second spacing is 15 kHz.
 4. The method according to claim 1, wherein: determining a bandwidth parameter based on a subcarrier spacing comprises: when the subcarrier spacing is a second spacing, determining a quantity of subcarriers between which the subcarrier spacing is the second spacing as the bandwidth parameter; and sending a data block on the subcarrier by using the transmit power comprises: sending the data block on at least one of subcarriers between which the subcarrier spacing is the second spacing by using the transmit power.
 5. The method according to claim 4, wherein the second spacing is 15 kHz, and the quantity of subcarriers that are spaced by the second spacing is 1, 3, 6 or
 12. 6. The method according to claim 1, further comprising: determining, based on a transmission manner of the transmit-end device, a subcarrier spacing corresponding to the transmit-end device; and determining the bandwidth parameter based on the subcarrier spacing comprises: determining by using a preset correspondence of the transmission manner and the bandwidth parameter as described below: Transmission manner M_(PUSCH, c) (i) Single-carrier transmission manner whose subcarrier ¼ spacing is 3.75 kHz Single-carrier transmission manner whose subcarrier 1 spacing is 15 kHz Three-carrier transmission manner whose subcarrier 3 spacing is 15 kHz Six-carrier transmission manner whose subcarrier 6 spacing is 15 kHz 12-carrier transmission manner whose subcarrier 12 spacing is 15 kHz


7. A transmit-end device, comprising: a memory storage comprising instructions; a processor in communication with the memory storage and configured to: determine a bandwidth parameter based on a subcarrier spacing, wherein the bandwidth parameter is a quantity of subcarriers, and determine transmit power based on the bandwidth parameter; and a transmitter, configured to send a data block on the subcarrier by using the transmit power.
 8. The transmit-end device according to claim 7, wherein: the processor is further configured to: when the subcarrier spacing is a first spacing, determine a ratio of the first spacing to a second spacing as the bandwidth parameter, wherein the second spacing is greater than the first spacing; and the transmitter is further configured to send the data block on a single subcarrier of subcarriers between which the subcarrier spacing is the first spacing by using the transmit power.
 9. The transmit-end device according to claim 8, wherein the first spacing is 3.75 kHz, and the second spacing is 15 kHz.
 10. The transmit-end device according to claim 7, wherein: the processor is further configured to: when the subcarrier spacing is a second spacing, determine a quantity of subcarriers between which the subcarrier spacing is the second spacing as the bandwidth parameter; and the transmitter is further configured to send the data block on at least one of subcarriers between which the subcarrier spacing is the second spacing by using the transmit power.
 11. The transmit-end device according to claim 10, wherein the second spacing is 15 kHz, and the quantity of subcarriers that are spaced by the second spacing is 1, 3, 6, or
 12. 12. The transmit-end device according to claim 7, wherein: the processor is configured to: determine, based on a transmission manner of the transmit-end device, a subcarrier spacing corresponding to the transmit-end device; and to determine the bandwith parameter based on the subcarrier spacing, the processor is configured to: use a preset correspondence of a transmission manner and a bandwidth parameter as described below: Transmission manner M_(PUSCH, c) (i) Single-carrier transmission manner whose subcarrier ¼ spacing is 3.75 kHz Single-carrier transmission manner whose subcarrier 1 spacing is 15 kHz Three-carrier transmission manner whose subcarrier 3 spacing is 15 kHz Six-carrier transmission manner whose subcarrier 6 spacing is 15 kHz 12-carrier transmission manner whose subcarrier 12 spacing is 15 kHz


13. A non-transitory computer readable storage medium comprising instructions which, when executed by a processor, cause a device to: determine a bandwidth parameter based on a subcarrier spacing, wherein the bandwidth parameter is a quantity of subcarriers; determine transmit power based on the bandwidth parameter; and sending a data block on the subcarrier by using the transmit power.
 14. The non-transitory computer readable storage medium according to claim 13, wherein the instructions, when executed by a processor, cause a device to: determine, based on a transmission manner of the a transmit-end device, a subcarrier spacing corresponding to the transmit-end device; and determine the bandwidth parameter based on the subcarrier spacing by using a preset correspondence between the transmission manner and the bandwidth parameter as described below: Transmission manner M_(PUSCH, c) (i) Single-carrier transmission manner whose subcarrier ¼ spacing is 3.75 kHz Single-carrier transmission manner whose subcarrier 1 spacing is 15 kHz Three-carrier transmission manner whose subcarrier 3 spacing is 15 kHz Six-carrier transmission manner whose subcarrier 6 spacing is 15 kHz 12-carrier transmission manner whose subcarrier 12 spacing is 15 kHz 